Electronic mailboxes are used to store electronic mail (e-mail) messages. Electronic mailboxes are connected to the Internet and use Internet protocols to send and receive incoming and outgoing e-mail messages. A user uses a mail program to compose and send messages. The sender's mail program communicates with the sender's mail server and delivers the message across the Internet to the recipient's mail server, where the message is deposited into the recipient's mailbox (or target mailbox) as a new incoming e-mail.
An e-mail system is an asynchronous send-and-forget messaging system. That is, e-mail is sent without any knowledge of whether it can successfully be delivered. If an e-mail message cannot be delivered, a new e-mail message, known as a delivery failure report or a bounce message, is generated by the target mail server and sent back to the originating mail server. The bounce message is deposited in the sender's mailbox, notifying the sender that delivery of the original message has failed.
The above single source and target e-mail server scenario works adequately if a user only has only one mailbox. However, most users today have more than one mailbox. A user might have one corporate e-mail account, one Internet service provider (ISP) e-mail account, and two or more free Web e-mail accounts (e.g., a Yahoo or Hotmail e-mail account). As a result, it may be difficult to keep up with and manage all of these different mailboxes.
One approach for providing better e-mail management with multiple mailboxes or accounts is to use an aggregated e-mail delivery system including an e-mail aggregation server. An e-mail aggregation server connects to multiple source mailboxes and consolidates the messages in one target mailbox. That is, these servers log on to existing mailboxes on behalf of the user, using credentials set up by the user, retrieve the messages from the mailboxes, and forward the messages to the target mailbox.
The target mailbox may be stored on the aggregation server, or it may be another e-mail account (i.e., the aggregation server acts as a e-mail forwarding agent). For example, for a user with ten e-mail accounts, it may be difficult for the user to check all these mailboxes regularly. Yet, an aggregation server may be used to pull down or aggregate messages from all ten accounts into one target mailbox.
Message delivery using aggregated e-mail servers simplifies the complexity of multiple mailbox management and message delivery. However, there is one significant drawback. Aggregation servers typically do not address the problem of bounce messages. An e-mail delivery failure at a target mailbox generates a bounce message that results in three undesirable effects. First, the target server sending the bounce message attempts to address the original sender who sent the e-mail to the source mailbox. Since the aggregation server acts as an intermediary and forwards the message from the source mailbox to the target mailbox, the target server cannot know that the bounce message should not be sent to the original sender of the message from the source mailbox. The original sender is typically a third party with no interest in the aggregation, who is likely to be baffled by bounce messages originating from the target server; the original sender only knows about messages sent to the source mailbox server. Thus, bounce messages are not sent to the aggregation server (the intended destination of the bounce message), but instead to the original sender of the message.
Second, if a target mailbox is unable to accept delivery of new messages, there is no way to temporarily slow down or disable deliveries of messages until the target mailbox is once again able to accept mail. This means that bounce messages will continually be sent to the original sender of the message, potentially resulting in an endless message loop. Finally, the original message that triggered the bounce message is never delivered to the intended recipient.
One prior art approach for dealing with bounce messages has been implemented in a software program called eMail Bounce Handler from MaxProg. This program provides a bounce e-mail filtering and handling tool that recognizes bounce e-mails using a customizable set of rules and extracts the recipients addresses, allowing a user to use them again to try sending his mail or to take them off his list. eMail Bounce Handler connects to a post office protocol (POP) mailbox to retrieve bounces, and leaves any other messages untouched. Once the mailbox is processed and all bounces are removed, the program provides a list of “bad” e-mails addresses. The user may then export the list to clean his original address list, or to try to send the e-mail again.
Despite such e-mail bounce message handling approaches, further advancements in dealing with bounce e-mails may be desirable in certain applications.